﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;

namespace RenderEngineInterfaces
{
    /// <summary>
    /// The attribute that describes info about the rendering
    /// class that is being defined.
    /// </summary>
    [MetadataAttribute]
    [AttributeUsage(AttributeTargets.Class)]
    public class RenderInfoAttribute : ExportAttribute
    {
        public RenderInfoAttribute(Type objectWeCanRenderType)
            : base(typeof(IRenderItem))
        {
            RenderObjectType = objectWeCanRenderType;
        }

        public RenderInfoAttribute(IDictionary<string, object> bogus)
            : base(typeof(IRenderItem))
        {
            RenderObjectType = bogus["RenderObjectType"] as Type;
        }

        public Type RenderObjectType { get; set; }
    }
}
